decorator functions